package com.example.springbootdemo.mall.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;

/**
 *@author xuwangqi
 *@date 2021/5/24 9:28
 **/
/**
    * 退款信息
    */
@ApiModel(value="com-example-springbootdemo-entity-RefundInfo")
@TableName(value = "refund_info")
public class RefundInfo {
    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value="id")
    private Long id;

    /**
     * 系统生成的退款编码
     */
    @TableField(value = "refund_no")
    @ApiModelProperty(value="系统生成的退款编码")
    private String refundNo;

    /**
     * 退款订单id 可以是总订单id或者子订单id，用于部分退款和全部退款
     */
    @TableField(value = "order_return_id")
    @ApiModelProperty(value="退款订单id 可以是总订单id或者子订单id，用于部分退款和全部退款")
    private Long orderReturnId;

    /**
     * 子订单id 用于退款退货时候
     */
    @TableField(value = "order_return_item_id")
    @ApiModelProperty(value="子订单id 用于退款退货时候")
    private Long orderReturnItemId;

    /**
     * 退货单id
     */
    @TableField(value = "reship_id")
    @ApiModelProperty(value="退货单id")
    private Long reshipId;

    /**
     * 商户退款单号和订单编号一致，也就是总订单编号
     */
    @TableField(value = "order_return_no")
    @ApiModelProperty(value="商户退款单号和订单编号一致，也就是总订单编号")
    private String orderReturnNo;

    /**
     * 生成退款单之前总订单的状态
     */
    @TableField(value = "order_status")
    @ApiModelProperty(value="生成退款单之前总订单的状态")
    private Integer orderStatus;

    /**
     * 生成退款单之前子订单状态
     */
    @TableField(value = "order_item_status")
    @ApiModelProperty(value="生成退款单之前子订单状态")
    private Integer orderItemStatus;

    /**
     * 退款类型 0 发货前退款 4 发货后仅退款 8 发货后退款退货
     */
    @TableField(value = "refund_type")
    @ApiModelProperty(value="退款类型 0 发货前退款 4 发货后仅退款 8 发货后退款退货")
    private Integer refundType;

    /**
     * 退款场景-发货前 或者发货后
     */
    @TableField(value = "refund_scenes")
    @ApiModelProperty(value="退款场景-发货前 或者发货后")
    private String refundScenes;

    /**
     * 订单用户支付金额
     */
    @TableField(value = "order_pay_amount")
    @ApiModelProperty(value="订单用户支付金额")
    private BigDecimal orderPayAmount;

    /**
     * 优惠券抵扣金额
     */
    @TableField(value = "order_coupon_amount")
    @ApiModelProperty(value="优惠券抵扣金额")
    private BigDecimal orderCouponAmount;

    /**
     * 运费
     */
    @TableField(value = "order_freight")
    @ApiModelProperty(value="运费")
    private BigDecimal orderFreight;

    /**
     * 商品总数量
     */
    @TableField(value = "order_quantity")
    @ApiModelProperty(value="商品总数量")
    private Integer orderQuantity;

    /**
     * 商品总价格 
     */
    @TableField(value = "order_total_price")
    @ApiModelProperty(value="商品总价格 ")
    private BigDecimal orderTotalPrice;

    /**
     * 实际商品支付金额 
     */
    @TableField(value = "order_total_amount")
    @ApiModelProperty(value="实际商品支付金额 ")
    private BigDecimal orderTotalAmount;

    /**
     * 退款人id
     */
    @TableField(value = "refunder_id")
    @ApiModelProperty(value="退款人id")
    private Long refunderId;

    /**
     * 退款金额
     */
    @TableField(value = "refund_amount")
    @ApiModelProperty(value="退款金额")
    private BigDecimal refundAmount;

    /**
     * 退款交易流水号
     */
    @TableField(value = "refund_sn")
    @ApiModelProperty(value="退款交易流水号")
    private String refundSn;

    /**
     * 状态 0 申请退款 2商家拒绝 4等待退款 6退款成功 8退款异常
     */
    @TableField(value = "status")
    @ApiModelProperty(value="状态 0 申请退款 2商家拒绝 4等待退款 6退款成功 8退款异常")
    private Integer status;

    /**
     * SUCCESS：退款成功
CLOSE：退款关闭
ABNORMAL：退款异常，退款到银行发现用户的卡作废或者冻结了，导致原路退款银行卡失败，可前往【服务商平台—>交易中心】，手动处理此笔退款
     */
    @TableField(value = "refund_status")
    @ApiModelProperty(value="SUCCESS：退款成功,CLOSE：退款关闭,ABNORMAL：退款异常，退款到银行发现用户的卡作废或者冻结了，导致原路退款银行卡失败，可前往【服务商平台—>交易中心】，手动处理此笔退款")
    private String refundStatus;

    /**
     * 商户拒绝退款备注
     */
    @TableField(value = "refuse_note")
    @ApiModelProperty(value="商户拒绝退款备注")
    private String refuseNote;

    /**
     * 退款渠道[1-支付宝，2-微信，3-银联，4-汇款]
     */
    @TableField(value = "refund_way")
    @ApiModelProperty(value="退款渠道[1-支付宝，2-微信，3-银联，4-汇款]")
    private Byte refundWay;

    /**
     * 退款描述
     */
    @TableField(value = "description")
    @ApiModelProperty(value="退款描述")
    private String description;

    /**
     * 退款凭证图片，以逗号隔开
     */
    @TableField(value = "desc_pics")
    @ApiModelProperty(value="退款凭证图片，以逗号隔开")
    private String descPics;

    /**
     * 退款成功时间

     */
    @TableField(value = "gmt_success")
    @ApiModelProperty(value="退款成功时间,")
    private Date gmtSuccess;

    /**
     * 退款申请时间
     */
    @TableField(value = "gmt_application")
    @ApiModelProperty(value="退款申请时间")
    private Date gmtApplication;

    /**
     * 退款关闭时间(用户取消退款)
     */
    @TableField(value = "gmt_close")
    @ApiModelProperty(value="退款关闭时间(用户取消退款)")
    private Date gmtClose;

    /**
     * 退款原因
     */
    @TableField(value = "refund_reason")
    @ApiModelProperty(value="退款原因")
    private String refundReason;

    /**
     * 退款入账账户
     */
    @TableField(value = "user_refund_account")
    @ApiModelProperty(value="退款入账账户")
    private String userRefundAccount;

    @TableField(value = "gmt_create")
    @ApiModelProperty(value="")
    private Date gmtCreate;

    @TableField(value = "gmt_modified")
    @ApiModelProperty(value="")
    private Date gmtModified;

    public static final String COL_ID = "id";

    public static final String COL_REFUND_NO = "refund_no";

    public static final String COL_ORDER_RETURN_ID = "order_return_id";

    public static final String COL_ORDER_RETURN_ITEM_ID = "order_return_item_id";

    public static final String COL_RESHIP_ID = "reship_id";

    public static final String COL_ORDER_RETURN_NO = "order_return_no";

    public static final String COL_ORDER_STATUS = "order_status";

    public static final String COL_ORDER_ITEM_STATUS = "order_item_status";

    public static final String COL_REFUND_TYPE = "refund_type";

    public static final String COL_REFUND_SCENES = "refund_scenes";

    public static final String COL_ORDER_PAY_AMOUNT = "order_pay_amount";

    public static final String COL_ORDER_COUPON_AMOUNT = "order_coupon_amount";

    public static final String COL_ORDER_FREIGHT = "order_freight";

    public static final String COL_ORDER_QUANTITY = "order_quantity";

    public static final String COL_ORDER_TOTAL_PRICE = "order_total_price";

    public static final String COL_ORDER_TOTAL_AMOUNT = "order_total_amount";

    public static final String COL_REFUNDER_ID = "refunder_id";

    public static final String COL_REFUND_AMOUNT = "refund_amount";

    public static final String COL_REFUND_SN = "refund_sn";

    public static final String COL_STATUS = "status";

    public static final String COL_REFUND_STATUS = "refund_status";

    public static final String COL_REFUSE_NOTE = "refuse_note";

    public static final String COL_REFUND_WAY = "refund_way";

    public static final String COL_DESCRIPTION = "description";

    public static final String COL_DESC_PICS = "desc_pics";

    public static final String COL_GMT_SUCCESS = "gmt_success";

    public static final String COL_GMT_APPLICATION = "gmt_application";

    public static final String COL_GMT_CLOSE = "gmt_close";

    public static final String COL_REFUND_REASON = "refund_reason";

    public static final String COL_USER_REFUND_ACCOUNT = "user_refund_account";

    public static final String COL_GMT_CREATE = "gmt_create";

    public static final String COL_GMT_MODIFIED = "gmt_modified";

    /**
     * 获取id
     *
     * @return id - id
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置id
     *
     * @param id id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取系统生成的退款编码
     *
     * @return refund_no - 系统生成的退款编码
     */
    public String getRefundNo() {
        return refundNo;
    }

    /**
     * 设置系统生成的退款编码
     *
     * @param refundNo 系统生成的退款编码
     */
    public void setRefundNo(String refundNo) {
        this.refundNo = refundNo;
    }

    /**
     * 获取退款订单id 可以是总订单id或者子订单id，用于部分退款和全部退款
     *
     * @return order_return_id - 退款订单id 可以是总订单id或者子订单id，用于部分退款和全部退款
     */
    public Long getOrderReturnId() {
        return orderReturnId;
    }

    /**
     * 设置退款订单id 可以是总订单id或者子订单id，用于部分退款和全部退款
     *
     * @param orderReturnId 退款订单id 可以是总订单id或者子订单id，用于部分退款和全部退款
     */
    public void setOrderReturnId(Long orderReturnId) {
        this.orderReturnId = orderReturnId;
    }

    /**
     * 获取子订单id 用于退款退货时候
     *
     * @return order_return_item_id - 子订单id 用于退款退货时候
     */
    public Long getOrderReturnItemId() {
        return orderReturnItemId;
    }

    /**
     * 设置子订单id 用于退款退货时候
     *
     * @param orderReturnItemId 子订单id 用于退款退货时候
     */
    public void setOrderReturnItemId(Long orderReturnItemId) {
        this.orderReturnItemId = orderReturnItemId;
    }

    /**
     * 获取退货单id
     *
     * @return reship_id - 退货单id
     */
    public Long getReshipId() {
        return reshipId;
    }

    /**
     * 设置退货单id
     *
     * @param reshipId 退货单id
     */
    public void setReshipId(Long reshipId) {
        this.reshipId = reshipId;
    }

    /**
     * 获取商户退款单号和订单编号一致，也就是总订单编号
     *
     * @return order_return_no - 商户退款单号和订单编号一致，也就是总订单编号
     */
    public String getOrderReturnNo() {
        return orderReturnNo;
    }

    /**
     * 设置商户退款单号和订单编号一致，也就是总订单编号
     *
     * @param orderReturnNo 商户退款单号和订单编号一致，也就是总订单编号
     */
    public void setOrderReturnNo(String orderReturnNo) {
        this.orderReturnNo = orderReturnNo;
    }

    /**
     * 获取生成退款单之前总订单的状态
     *
     * @return order_status - 生成退款单之前总订单的状态
     */
    public Integer getOrderStatus() {
        return orderStatus;
    }

    /**
     * 设置生成退款单之前总订单的状态
     *
     * @param orderStatus 生成退款单之前总订单的状态
     */
    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    /**
     * 获取生成退款单之前子订单状态
     *
     * @return order_item_status - 生成退款单之前子订单状态
     */
    public Integer getOrderItemStatus() {
        return orderItemStatus;
    }

    /**
     * 设置生成退款单之前子订单状态
     *
     * @param orderItemStatus 生成退款单之前子订单状态
     */
    public void setOrderItemStatus(Integer orderItemStatus) {
        this.orderItemStatus = orderItemStatus;
    }

    /**
     * 获取退款类型 0 发货前退款 4 发货后仅退款 8 发货后退款退货
     *
     * @return refund_type - 退款类型 0 发货前退款 4 发货后仅退款 8 发货后退款退货
     */
    public Integer getRefundType() {
        return refundType;
    }

    /**
     * 设置退款类型 0 发货前退款 4 发货后仅退款 8 发货后退款退货
     *
     * @param refundType 退款类型 0 发货前退款 4 发货后仅退款 8 发货后退款退货
     */
    public void setRefundType(Integer refundType) {
        this.refundType = refundType;
    }

    /**
     * 获取退款场景-发货前 或者发货后
     *
     * @return refund_scenes - 退款场景-发货前 或者发货后
     */
    public String getRefundScenes() {
        return refundScenes;
    }

    /**
     * 设置退款场景-发货前 或者发货后
     *
     * @param refundScenes 退款场景-发货前 或者发货后
     */
    public void setRefundScenes(String refundScenes) {
        this.refundScenes = refundScenes;
    }

    /**
     * 获取订单用户支付金额
     *
     * @return order_pay_amount - 订单用户支付金额
     */
    public BigDecimal getOrderPayAmount() {
        return orderPayAmount;
    }

    /**
     * 设置订单用户支付金额
     *
     * @param orderPayAmount 订单用户支付金额
     */
    public void setOrderPayAmount(BigDecimal orderPayAmount) {
        this.orderPayAmount = orderPayAmount;
    }

    /**
     * 获取优惠券抵扣金额
     *
     * @return order_coupon_amount - 优惠券抵扣金额
     */
    public BigDecimal getOrderCouponAmount() {
        return orderCouponAmount;
    }

    /**
     * 设置优惠券抵扣金额
     *
     * @param orderCouponAmount 优惠券抵扣金额
     */
    public void setOrderCouponAmount(BigDecimal orderCouponAmount) {
        this.orderCouponAmount = orderCouponAmount;
    }

    /**
     * 获取运费
     *
     * @return order_freight - 运费
     */
    public BigDecimal getOrderFreight() {
        return orderFreight;
    }

    /**
     * 设置运费
     *
     * @param orderFreight 运费
     */
    public void setOrderFreight(BigDecimal orderFreight) {
        this.orderFreight = orderFreight;
    }

    /**
     * 获取商品总数量
     *
     * @return order_quantity - 商品总数量
     */
    public Integer getOrderQuantity() {
        return orderQuantity;
    }

    /**
     * 设置商品总数量
     *
     * @param orderQuantity 商品总数量
     */
    public void setOrderQuantity(Integer orderQuantity) {
        this.orderQuantity = orderQuantity;
    }

    /**
     * 获取商品总价格 
     *
     * @return order_total_price - 商品总价格 
     */
    public BigDecimal getOrderTotalPrice() {
        return orderTotalPrice;
    }

    /**
     * 设置商品总价格 
     *
     * @param orderTotalPrice 商品总价格 
     */
    public void setOrderTotalPrice(BigDecimal orderTotalPrice) {
        this.orderTotalPrice = orderTotalPrice;
    }

    /**
     * 获取实际商品支付金额 
     *
     * @return order_total_amount - 实际商品支付金额 
     */
    public BigDecimal getOrderTotalAmount() {
        return orderTotalAmount;
    }

    /**
     * 设置实际商品支付金额 
     *
     * @param orderTotalAmount 实际商品支付金额 
     */
    public void setOrderTotalAmount(BigDecimal orderTotalAmount) {
        this.orderTotalAmount = orderTotalAmount;
    }

    /**
     * 获取退款人id
     *
     * @return refunder_id - 退款人id
     */
    public Long getRefunderId() {
        return refunderId;
    }

    /**
     * 设置退款人id
     *
     * @param refunderId 退款人id
     */
    public void setRefunderId(Long refunderId) {
        this.refunderId = refunderId;
    }

    /**
     * 获取退款金额
     *
     * @return refund_amount - 退款金额
     */
    public BigDecimal getRefundAmount() {
        return refundAmount;
    }

    /**
     * 设置退款金额
     *
     * @param refundAmount 退款金额
     */
    public void setRefundAmount(BigDecimal refundAmount) {
        this.refundAmount = refundAmount;
    }

    /**
     * 获取退款交易流水号
     *
     * @return refund_sn - 退款交易流水号
     */
    public String getRefundSn() {
        return refundSn;
    }

    /**
     * 设置退款交易流水号
     *
     * @param refundSn 退款交易流水号
     */
    public void setRefundSn(String refundSn) {
        this.refundSn = refundSn;
    }

    /**
     * 获取状态 0 申请退款 2商家拒绝 4等待退款 6退款成功 8退款异常
     *
     * @return status - 状态 0 申请退款 2商家拒绝 4等待退款 6退款成功 8退款异常
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置状态 0 申请退款 2商家拒绝 4等待退款 6退款成功 8退款异常
     *
     * @param status 状态 0 申请退款 2商家拒绝 4等待退款 6退款成功 8退款异常
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取SUCCESS：退款成功
CLOSE：退款关闭
ABNORMAL：退款异常，退款到银行发现用户的卡作废或者冻结了，导致原路退款银行卡失败，可前往【服务商平台—>交易中心】，手动处理此笔退款
     *
     * @return refund_status - SUCCESS：退款成功
CLOSE：退款关闭
ABNORMAL：退款异常，退款到银行发现用户的卡作废或者冻结了，导致原路退款银行卡失败，可前往【服务商平台—>交易中心】，手动处理此笔退款
     */
    public String getRefundStatus() {
        return refundStatus;
    }

    /**
     * 设置SUCCESS：退款成功
CLOSE：退款关闭
ABNORMAL：退款异常，退款到银行发现用户的卡作废或者冻结了，导致原路退款银行卡失败，可前往【服务商平台—>交易中心】，手动处理此笔退款
     *
     * @param refundStatus SUCCESS：退款成功
CLOSE：退款关闭
ABNORMAL：退款异常，退款到银行发现用户的卡作废或者冻结了，导致原路退款银行卡失败，可前往【服务商平台—>交易中心】，手动处理此笔退款
     */
    public void setRefundStatus(String refundStatus) {
        this.refundStatus = refundStatus;
    }

    /**
     * 获取商户拒绝退款备注
     *
     * @return refuse_note - 商户拒绝退款备注
     */
    public String getRefuseNote() {
        return refuseNote;
    }

    /**
     * 设置商户拒绝退款备注
     *
     * @param refuseNote 商户拒绝退款备注
     */
    public void setRefuseNote(String refuseNote) {
        this.refuseNote = refuseNote;
    }

    /**
     * 获取退款渠道[1-支付宝，2-微信，3-银联，4-汇款]
     *
     * @return refund_way - 退款渠道[1-支付宝，2-微信，3-银联，4-汇款]
     */
    public Byte getRefundWay() {
        return refundWay;
    }

    /**
     * 设置退款渠道[1-支付宝，2-微信，3-银联，4-汇款]
     *
     * @param refundWay 退款渠道[1-支付宝，2-微信，3-银联，4-汇款]
     */
    public void setRefundWay(Byte refundWay) {
        this.refundWay = refundWay;
    }

    /**
     * 获取退款描述
     *
     * @return description - 退款描述
     */
    public String getDescription() {
        return description;
    }

    /**
     * 设置退款描述
     *
     * @param description 退款描述
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * 获取退款凭证图片，以逗号隔开
     *
     * @return desc_pics - 退款凭证图片，以逗号隔开
     */
    public String getDescPics() {
        return descPics;
    }

    /**
     * 设置退款凭证图片，以逗号隔开
     *
     * @param descPics 退款凭证图片，以逗号隔开
     */
    public void setDescPics(String descPics) {
        this.descPics = descPics;
    }

    /**
     * 获取退款成功时间

     *
     * @return gmt_success - 退款成功时间

     */
    public Date getGmtSuccess() {
        return gmtSuccess;
    }

    /**
     * 设置退款成功时间

     *
     * @param gmtSuccess 退款成功时间

     */
    public void setGmtSuccess(Date gmtSuccess) {
        this.gmtSuccess = gmtSuccess;
    }

    /**
     * 获取退款申请时间
     *
     * @return gmt_application - 退款申请时间
     */
    public Date getGmtApplication() {
        return gmtApplication;
    }

    /**
     * 设置退款申请时间
     *
     * @param gmtApplication 退款申请时间
     */
    public void setGmtApplication(Date gmtApplication) {
        this.gmtApplication = gmtApplication;
    }

    /**
     * 获取退款关闭时间(用户取消退款)
     *
     * @return gmt_close - 退款关闭时间(用户取消退款)
     */
    public Date getGmtClose() {
        return gmtClose;
    }

    /**
     * 设置退款关闭时间(用户取消退款)
     *
     * @param gmtClose 退款关闭时间(用户取消退款)
     */
    public void setGmtClose(Date gmtClose) {
        this.gmtClose = gmtClose;
    }

    /**
     * 获取退款原因
     *
     * @return refund_reason - 退款原因
     */
    public String getRefundReason() {
        return refundReason;
    }

    /**
     * 设置退款原因
     *
     * @param refundReason 退款原因
     */
    public void setRefundReason(String refundReason) {
        this.refundReason = refundReason;
    }

    /**
     * 获取退款入账账户
     *
     * @return user_refund_account - 退款入账账户
     */
    public String getUserRefundAccount() {
        return userRefundAccount;
    }

    /**
     * 设置退款入账账户
     *
     * @param userRefundAccount 退款入账账户
     */
    public void setUserRefundAccount(String userRefundAccount) {
        this.userRefundAccount = userRefundAccount;
    }

    /**
     * @return gmt_create
     */
    public Date getGmtCreate() {
        return gmtCreate;
    }

    /**
     * @param gmtCreate
     */
    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    /**
     * @return gmt_modified
     */
    public Date getGmtModified() {
        return gmtModified;
    }

    /**
     * @param gmtModified
     */
    public void setGmtModified(Date gmtModified) {
        this.gmtModified = gmtModified;
    }
}